/*
 * 1、在逻辑表达式中遇到 undefined 、null 、0 、'' 、NaN 则都返回 false
 * 2、在二进制位运算中遇到 undefined 、null 、0 、'' 、NaN 则被当作 0 来处理
 */

console.log( undefined && true ? '是' : '非' );
console.log( null && true ? '是' : '非' );
console.log( 0 && true ? '是' : '非' );
console.log( '' && true ? '是' : '非' );
console.log( NaN && true ? '是' : '非' );

console.log( '- - - - - - - - - - - - - - - -' );

console.log( 100/0 ? '是' : '非' ); // -Infinity 和 Infinity 都被当作 true 来使用

console.log( '- - - - - - - - - - - - - - - -' );

console.log( undefined | 0 );
console.log( null | 0 );
console.log( 0 | 0 );
console.log( '' | 0 );
console.log( NaN | 0 );